package com.xiyu.service.convert.setting;

import com.xiyu.service.model.customer.pool.CustomerPoolMaxLimit;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingQueryMaxLimitOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingUpdateMaxLimitInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingCreateMaxLimitInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingGetMaxLimitOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingQueryRuleOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingUpdateRuleInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingCreateRuleInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingGetRuleOutput;
import com.xiyu.service.model.customer.pool.CustomerPoolRule;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 公海设置 Convert
 */
@Mapper
public interface PoolSettingConvert {
    PoolSettingConvert INSTANCE = Mappers.getMapper(PoolSettingConvert.class);


    CustomerPoolRule createRuleInputConvert(PoolSettingCreateRuleInput input);

    CustomerPoolRule updateRuleInputConvert(PoolSettingUpdateRuleInput input);

    List<PoolSettingQueryRuleOutput> queryRuleOutputConvert(List<CustomerPoolRule> output);

    PoolSettingGetRuleOutput getRuleOutputConvert(CustomerPoolRule output);

    PoolSettingGetMaxLimitOutput getMaxLimitOutputConvert(CustomerPoolMaxLimit output);

    CustomerPoolMaxLimit createMaxLimitInputConvert(PoolSettingCreateMaxLimitInput input);

    CustomerPoolMaxLimit updateMaxLimitInputConvert(PoolSettingUpdateMaxLimitInput input);

    List<PoolSettingQueryMaxLimitOutput> queryMaxLimitOutputConvert(List<CustomerPoolMaxLimit> output);


}
